package itheima01;

/**
 * @author Xiao
 * @date 2021/7/17
 */
public class LambdaDemo02 {
    /**
     * 需求：
     * 编写一个接口StringHandler，在该接口中存在一个抽象方法printMessage，该方法是有参数无返回值。
     * 在测试类StringHandlerDemo中存在一个方法useStringHandler，方法的参数是StringHandler类型的，
     * 在方法内部调用了StringHandler的printMessage方法。
     */
    public static void main(String[] args) {
        useMessage(new StringHandler() {
            @Override
            public void printMessage(String s) {
                System.out.println("匿名内部类" + s);
            }
        });
        System.out.println("----------");
        /*useMessage((String s) -> {
            System.out.println("Lambda表达式" + s);
        });*/
        useMessage(s -> System.out.println("Lambda表达式" + s));
    }
    //定义方法useMessage
    public static void useMessage(StringHandler s){
        s.printMessage("HelloWorld");
    }
}
//定义接口，接口中为带参数无返回值方法
interface StringHandler {
    void printMessage(String s);
}